package model

import (
	"manager/model/entity"
)

// MessageRecordCreateRequest 创建现场数据
type MessageRecordCreateRequest struct {
	UserId int64 `json:"user_id"`

	MsgId int64 `json:"msg_id"`

	Success int `json:"success"`
}

// MessageRecordUpdateRequest 更新现场数据
type MessageRecordUpdateRequest struct {
	Id int64 `json:"id"`

	UserId *int64 `json:"user_id"`

	MsgId *int64 `json:"msg_id"`

	Success *int `json:"success"`

	CreatedAt int64 `json:"created_at"`
}

// MessageRecordListRequest 列表现场数据
type MessageRecordListRequest struct {
	Index int `json:"index"`
	Size  int `json:"size"`

	Id int64 `json:"id"`

	UserId *int64 `json:"user_id"`

	MsgId *int64 `json:"msg_id"`

	Success *int `json:"success"`
}

// MessageRecordListResponse 列表回包数据
type MessageRecordListResponse struct {
	Total int                  `json:"total"`
	List  []*MessageRecordInfo `json:"list"`
}

// MessageRecordInfoRequest 列表现场数据
type MessageRecordInfoRequest struct {
	Id int64 `json:"id"`

	UserId *int64 `json:"user_id"`

	MsgId *int64 `json:"msg_id"`

	Success *int `json:"success"`
}

// MessageRecordInfo 详细数据
type MessageRecordInfo struct {
	Id int64 `json:"id"`

	UserId int64 `json:"user_id"`

	MsgId int64 `json:"msg_id"`

	Success int `json:"success"`

	CreatedAt int64 `json:"created_at"`
}

// MessageRecordDeleteRequest 删除现场数据
type MessageRecordDeleteRequest struct {
	Id int64 `json:"id"`
}

// MessageRecordsEntityToDto entity数据转换
func MessageRecordsEntityToDto(messageRecords []*entity.MessageRecord) []*MessageRecordInfo {
	out := make([]*MessageRecordInfo, 0, len(messageRecords))
	for _, c := range messageRecords {
		out = append(out, MessageRecordEntityToDto(c))
	}
	return out
}

// MessageRecordEntityToDto entity数据转换
func MessageRecordEntityToDto(e *entity.MessageRecord) *MessageRecordInfo {
	return &MessageRecordInfo{

		Id: e.Id,

		UserId: e.UserId,

		MsgId: e.MsgId,

		Success: e.Success,

		CreatedAt: e.CreatedAt,
	}
}
